package com.netjava.pojo;

import java.util.HashSet;
import java.util.Set;

/**
 * Product entity.
 * 商品，包括即将拍卖的商品、正在拍卖的商品、拍卖结束的商品共有的属性
 * @author MyEclipse Persistence Tools
 */

public class Product implements java.io.Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer productId;
	private String productName;//商品名称
	private Float basePrice;//该商品被拍卖出去的最低价，即商家所能承受的最低价
	private Float marketPrice;//该商品的市场价

	private Float currentPrice=0.00f;//该商品暂时的价格


	private Integer state;//该商品的状态，即将拍卖(0)，正在拍卖(1)，拍卖结束(2)
	private String details;//该商品的详细介绍
	private String image1;//该商品的图片,如果只显示一张图片，那么就显示这张图片
	private String image2;//该商品的图片
	private String image3;//该商品的图片
	private String other1;//备用字段
	private String other2;//备用字段
	private EndAuction endAuction;
	private Auctioning auctioning;
	private Preauction preauction;
	private Delivery delivery;
	private Set notices = new HashSet(0);
	private Set aucrecords = new HashSet(0);

	// Constructors

	/** default constructor */
	public Product() {
	}

	/** minimal constructor */
	public Product(String productName, Float basePrice, Float marketPrice,
			Integer state, String image1, String image2, String image3) {
		this.productName = productName;
		this.basePrice = basePrice;
		this.marketPrice = marketPrice;
		this.state = state;
		this.image1 = image1;
		this.image2 = image2;
		this.image3 = image3;
	}

	/** full constructor */
	public Product(String productName, Float basePrice, Float marketPrice,
			Integer state, String details, String image1, String image2,
			String image3, String other1, String other2, EndAuction endauction,
			Auctioning auctioning, Preauction preauction, Set notices, Delivery delivery,
			Set aucrecords) {
		this.productName = productName;
		this.basePrice = basePrice;
		this.marketPrice = marketPrice;
		this.state = state;
		this.details = details;
		this.image1 = image1;
		this.image2 = image2;
		this.image3 = image3;
		this.other1 = other1;
		this.other2 = other2;
		this.endAuction = endAuction;
		this.auctioning = auctioning;
		this.preauction = preauction;
		this.notices = notices;
		this.delivery = delivery;
		this.aucrecords = aucrecords;
	}

	// Property accessors

	public Integer getProductId() {
		return this.productId;
	}

	public void setProductId(Integer productId) {
		this.productId = productId;
	}

	public String getProductName() {
		return this.productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public Float getBasePrice() {
		return this.basePrice;
	}

	public void setBasePrice(Float basePrice) {
		this.basePrice = basePrice;
	}

	public Float getMarketPrice() {
		return this.marketPrice;
	}

	public void setMarketPrice(Float marketPrice) {
		this.marketPrice = marketPrice;
	}

	public Float getCurrentPrice() {
		return currentPrice;
	}

	public void setCurrentPrice(Float currentPrice) {
		this.currentPrice = currentPrice;
	}

	public Integer getState() {
		return this.state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public String getDetails() {
		return this.details;
	}

	public void setDetails(String details) {
		this.details = details;
	}

	public String getImage1() {
		return this.image1;
	}

	public void setImage1(String image1) {
		this.image1 = image1;
	}

	public String getImage2() {
		return this.image2;
	}

	public void setImage2(String image2) {
		this.image2 = image2;
	}

	public String getImage3() {
		return this.image3;
	}

	public void setImage3(String image3) {
		this.image3 = image3;
	}

	public String getOther1() {
		return this.other1;
	}

	public void setOther1(String other1) {
		this.other1 = other1;
	}

	public String getOther2() {
		return this.other2;
	}

	public void setOther2(String other2) {
		this.other2 = other2;
	}

	public Set getNotices() {
		return this.notices;
	}

	public void setNotices(Set notices) {
		this.notices = notices;
	}

	public EndAuction getEndAuction() {
		return endAuction;
	}

	public void setEndAuction(EndAuction endAuction) {
		this.endAuction = endAuction;
	}

	public Auctioning getAuctioning() {
		return auctioning;
	}

	public void setAuctioning(Auctioning auctioning) {
		this.auctioning = auctioning;
	}

	public Preauction getPreauction() {
		return preauction;
	}

	public void setPreauction(Preauction preauction) {
		this.preauction = preauction;
	}

	public Delivery getDelivery() {
		return delivery;
	}

	public void setDelivery(Delivery delivery) {
		this.delivery = delivery;
	}

	public Set getAucrecords() {
		return this.aucrecords;
	}

	public void setAucrecords(Set aucrecords) {
		this.aucrecords = aucrecords;
	}

}